# -*- coding: utf-8 -*-
import requests
from datetime import datetime

# 设置控制台编码（Windows系统）： 在Windows系统中，可以通过以下代码设置控制台编码为UTF-8：
import sys,io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
def fetch_resource_with_etag(url):
    headers = {}
    # 假设本地记录的 ETag
    cached_etag = 'abc123'
    headers["If-None-Match"] = cached_etag

    response = requests.get(url, headers=headers)

    if response.status_code == 304:
        print("304 Not Modified: 使用缓存内容。")
    elif response.status_code == 200:
        print("200 OK: 下载新资源并更新缓存。")
        # 更新本地缓存逻辑
        print("ETag:", response.headers.get("ETag"))
    else:
        print("其他状态码:", response.status_code)

# 测试地址
url = "https://httpbin.org/etag/abc123"
fetch_resource_with_etag(url)